#include "ip.h"

const char *apiURL = "http://tool.he4966.cn/api/tool/get_my_ip";

// 获取IP地址的函数
String getMyIP()
{
    HTTPClient http;
    http.begin(apiURL);        // 设置目标URL
    int httpCode = http.GET(); // 发送GET请求

    if (httpCode > 0)
    {
        String payload = http.getString(); // 获取响应内容
        // Serial.println("Response: " + payload); // 可选：调试时打印响应内容

        // 解析JSON数据
        DynamicJsonDocument doc(1024);
        deserializeJson(doc, payload);
        String ip = doc["data"]; // 获取"data"字段的值
        return ip;
    }
    else
    {
        Serial.println("Error on HTTP request");
        return "Error";
    }
}

// 获取10位时间戳的函数

uint32_t getTimeStamp()
{
    HTTPClient http;
    http.begin(apiURL);        // 设置目标URL
    int httpCode = http.GET(); // 发送GET请求

    if (httpCode > 0)
    {
        String payload = http.getString(); // 获取响应内容
        // Serial.println("Response: " + payload); // 可选：调试时打印响应内容

        // 解析JSON数据
        DynamicJsonDocument doc(1024);
        deserializeJson(doc, payload);
        uint32_t timestamp = doc["time"]; // 获取"data"字段的值，并将其转换为uint32_t类型
        return timestamp;
    }
    else
    {
        Serial.println("Error on HTTP request");
        return 0;
    }
}

String getTime()
{
    HTTPClient http;
    http.begin(apiURL);        // 设置目标URL
    int httpCode = http.GET(); // 获取时间

    if (httpCode > 0)
    {
        String payload = http.getString(); // 获取响应内容
        // Serial.println("Response: " + payload); // 可选：调试时打印响应内容

        // 解析JSON数据
        DynamicJsonDocument doc(1024);
        deserializeJson(doc, payload);
        String time = doc["date"]; // 获取"data"字段的值
        return time;
    }
    else
    {
        Serial.println("Error on HTTP request");
        return "Error";
    }
}

String getIpData()
{
    HTTPClient http;
    http.begin(apiURL);        // 设置目标URL
    int httpCode = http.GET(); // 发送GET请求

    if (httpCode > 0)
    {
        String payload = http.getString(); // 获取响应内容
        return payload;
    }
    else
    {
        Serial.println("Error on HTTP request");
        return "Error";
    }
}
